package com.springboot.middleware.middleware_lock.server.service;

import com.springboot.middleware.middleware_lock.server.dto.UserRegDto;

public interface UserRegService {
    /**
     * 处理用户提交注册-不带锁
     *
     * @param dto UserRegDto(用户名, 密码)
     * @throws Exception 账户已注册
     */
    void userRegNoLock(UserRegDto dto) throws Exception;

    /**
     * 处理用户提交注册-基于Redis的分布式锁
     *
     * @param dto UserRegDto(用户名, 密码)
     * @throws Exception 账户已注册
     */
    void UserRegWithLock(UserRegDto dto) throws Exception;

    /**
     * 处理用户提交注册-基于ZooKeeper的分布式锁
     *
     * @param dto UserRegDto(用户名, 密码)
     * @throws Exception 获取ZooKeeper锁失败 / 账户已注册
     */
    void UserRegWithZKLock(UserRegDto dto) throws Exception;


}
